iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
Mobile Development

麻瓜學習 iOS 開發系列 第 20

Day20:SwiftUI—GeometryReader

  • 分享至 

  • xImage
  •  

前言

本篇文章介紹 SwiftUI 的元件—GeometryReader。

實作

  • 打開一個新專案
    建立一個矩形:


    這個矩形的位置是 hard code 出來的,
    但我們的裝置很常不一樣,
    所以我們需要一個相對的位置和框架大小。
  • 加入 GeometryReader

    這樣我們可以獲得整個屏幕的尺寸,
    讓我們來相對的確定位置:
  • print 相應的 global 幾何坐標

  • print 相應的 local 幾何坐標

    可以發現 global、local 數字不同。
    因為 global 是指相對整個屏幕的坐標,
    local 是指相對於其父級即這個 GeometryReader 的框架的坐標。
  • 宣告兩個矩形


    output 這兩個矩形的坐標:

    會發現是相同的,
    這是因為這兩個矩形都是相對同一個 GeometryReader 確定坐標的,
    所以這個坐標是相對的而不是實際位置的坐標。
    如果把這兩個矩形包在不同的 GeometryReader 裡:

    則 output 出的坐標是不同的:
  • 將多個元素直接放在 GeometryReader 是直接堆疊在一起的,類似 ZStack

  • 創造重疊效果
    刪除紅色矩形,並且修改兩個矩形長度:

    添加 offset modifier:


    出現重疊效果。

上一篇
Day19:SwiftUI—Button
下一篇
Day21:開發自己的 APP 的前置步驟
系列文
麻瓜學習 iOS 開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言